################################################################################
#
# recalbox-romfs-neogeo
#
################################################################################

# Package generated with :
# ./scripts/linux/empack.py --force --system neogeo --extension '.zip .ZIP .7z .7Z' --fullname 'Neo-Geo' --platform neogeo --theme neogeo 4:libretro:mame2003:BR2_PACKAGE_LIBRETRO_MAME2003 3:libretro:mame2003_plus:BR2_PACKAGE_LIBRETRO_MAME2003_PLUS 5:libretro:mame2000:BR2_PACKAGE_LIBRETRO_MAME2000 1:libretro:fbneo:BR2_PACKAGE_LIBRETRO_FBNEO 2:fba2x:fba2x:BR2_PACKAGE_PIFBA 6:libretro:mame2010:BR2_PACKAGE_LIBRETRO_MAME2010 7:libretro:mame2015:BR2_PACKAGE_LIBRETRO_MAME2015 8:libretro:mame2016:BR2_PACKAGE_LIBRETRO_MAME2016

# Name the 3 vars as the package requires
RECALBOX_ROMFS_NEOGEO_SOURCE = 
RECALBOX_ROMFS_NEOGEO_SITE = 
RECALBOX_ROMFS_NEOGEO_INSTALL_STAGING = NO
# Set the system name
SYSTEM_NAME_NEOGEO = neogeo
SYSTEM_XML_NEOGEO = $(@D)/$(SYSTEM_NAME_NEOGEO).xml
# System rom path
SOURCE_ROMDIR_NEOGEO = $(RECALBOX_ROMFS_NEOGEO_PKGDIR)/roms

# CONFIGGEN_STD_CMD is defined in recalbox-romfs, so take good care that
# variables are global across buildroot


ifneq ($(BR2_PACKAGE_LIBRETRO_MAME2003)$(BR2_PACKAGE_LIBRETRO_MAME2003_PLUS)$(BR2_PACKAGE_LIBRETRO_MAME2000)$(BR2_PACKAGE_LIBRETRO_FBNEO)$(BR2_PACKAGE_PIFBA)$(BR2_PACKAGE_LIBRETRO_MAME2010)$(BR2_PACKAGE_LIBRETRO_MAME2015)$(BR2_PACKAGE_LIBRETRO_MAME2016),)
define CONFIGURE_MAIN_NEOGEO_START
	$(call RECALBOX_ROMFS_CALL_ADD_SYSTEM,$(SYSTEM_XML_NEOGEO),Neo-Geo,$(SYSTEM_NAME_NEOGEO),.zip .ZIP .7z .7Z,neogeo,neogeo)
endef

ifneq ($(BR2_PACKAGE_LIBRETRO_MAME2003)$(BR2_PACKAGE_LIBRETRO_MAME2003_PLUS)$(BR2_PACKAGE_LIBRETRO_MAME2000)$(BR2_PACKAGE_LIBRETRO_FBNEO)$(BR2_PACKAGE_PIFBA)$(BR2_PACKAGE_LIBRETRO_MAME2010)$(BR2_PACKAGE_LIBRETRO_MAME2015)$(BR2_PACKAGE_LIBRETRO_MAME2016),)
define CONFIGURE_NEOGEO_LIBRETRO_START
	$(call RECALBOX_ROMFS_CALL_START_EMULATOR,$(SYSTEM_XML_NEOGEO),libretro)
endef
ifeq ($(BR2_PACKAGE_LIBRETRO_MAME2003),y)
define CONFIGURE_NEOGEO_LIBRETRO_MAME2003_DEF
	$(call RECALBOX_ROMFS_CALL_ADD_CORE,$(SYSTEM_XML_NEOGEO),mame2003,4)
endef
endif

ifeq ($(BR2_PACKAGE_LIBRETRO_MAME2000),y)
define CONFIGURE_NEOGEO_LIBRETRO_MAME2000_DEF
	$(call RECALBOX_ROMFS_CALL_ADD_CORE,$(SYSTEM_XML_NEOGEO),mame2000,5)
endef
endif

ifeq ($(BR2_PACKAGE_LIBRETRO_MAME2003_PLUS),y)
define CONFIGURE_NEOGEO_LIBRETRO_MAME2003_PLUS_DEF
	$(call RECALBOX_ROMFS_CALL_ADD_CORE,$(SYSTEM_XML_NEOGEO),mame2003_plus,3)
endef
endif

ifeq ($(BR2_PACKAGE_LIBRETRO_FBNEO),y)
define CONFIGURE_NEOGEO_LIBRETRO_FBNEO_DEF
	$(call RECALBOX_ROMFS_CALL_ADD_CORE,$(SYSTEM_XML_NEOGEO),fbneo,1)
endef
endif

ifeq ($(BR2_PACKAGE_LIBRETRO_MAME2010),y)
define CONFIGURE_NEOGEO_LIBRETRO_MAME2010_DEF
	$(call RECALBOX_ROMFS_CALL_ADD_CORE,$(SYSTEM_XML_NEOGEO),mame2010,6)
endef
endif

ifeq ($(BR2_PACKAGE_LIBRETRO_MAME2015),y)
define CONFIGURE_NEOGEO_LIBRETRO_MAME2015_DEF
	$(call RECALBOX_ROMFS_CALL_ADD_CORE,$(SYSTEM_XML_NEOGEO),mame2015,7)
endef
endif

ifeq ($(BR2_PACKAGE_LIBRETRO_MAME2016),y)
define CONFIGURE_NEOGEO_LIBRETRO_MAME2016_DEF
	$(call RECALBOX_ROMFS_CALL_ADD_CORE,$(SYSTEM_XML_NEOGEO),mame2016,8)
endef
endif

define CONFIGURE_NEOGEO_LIBRETRO_END
	$(call RECALBOX_ROMFS_CALL_END_EMULATOR,$(SYSTEM_XML_NEOGEO))
endef
endif

ifneq ($(BR2_PACKAGE_LIBRETRO_MAME2003)$(BR2_PACKAGE_LIBRETRO_MAME2003_PLUS)$(BR2_PACKAGE_LIBRETRO_MAME2000)$(BR2_PACKAGE_LIBRETRO_FBNEO)$(BR2_PACKAGE_PIFBA)$(BR2_PACKAGE_LIBRETRO_MAME2010)$(BR2_PACKAGE_LIBRETRO_MAME2015)$(BR2_PACKAGE_LIBRETRO_MAME2016),)
define CONFIGURE_NEOGEO_FBA2X_START
	$(call RECALBOX_ROMFS_CALL_START_EMULATOR,$(SYSTEM_XML_NEOGEO),fba2x)
endef
ifeq ($(BR2_PACKAGE_PIFBA),y)
define CONFIGURE_NEOGEO_FBA2X_FBA2X_DEF
	$(call RECALBOX_ROMFS_CALL_ADD_CORE,$(SYSTEM_XML_NEOGEO),fba2x,2)
endef
endif

define CONFIGURE_NEOGEO_FBA2X_END
	$(call RECALBOX_ROMFS_CALL_END_EMULATOR,$(SYSTEM_XML_NEOGEO))
endef
endif



define CONFIGURE_MAIN_NEOGEO_END
	$(call RECALBOX_ROMFS_CALL_END_SYSTEM,$(SYSTEM_XML_NEOGEO),$(SOURCE_ROMDIR_NEOGEO),$(@D))
endef
endif

define RECALBOX_ROMFS_NEOGEO_CONFIGURE_CMDS
	$(CONFIGURE_MAIN_NEOGEO_START)
	$(CONFIGURE_NEOGEO_LIBRETRO_START)
	$(CONFIGURE_NEOGEO_LIBRETRO_MAME2003_DEF)
	$(CONFIGURE_NEOGEO_LIBRETRO_MAME2000_DEF)
	$(CONFIGURE_NEOGEO_LIBRETRO_MAME2003_PLUS_DEF)
	$(CONFIGURE_NEOGEO_LIBRETRO_FBNEO_DEF)
	$(CONFIGURE_NEOGEO_LIBRETRO_MAME2010_DEF)
	$(CONFIGURE_NEOGEO_LIBRETRO_MAME2015_DEF)
	$(CONFIGURE_NEOGEO_LIBRETRO_MAME2016_DEF)
	$(CONFIGURE_NEOGEO_LIBRETRO_END)
	$(CONFIGURE_NEOGEO_FBA2X_START)
	$(CONFIGURE_NEOGEO_FBA2X_FBA2X_DEF)
	$(CONFIGURE_NEOGEO_FBA2X_END)
	$(CONFIGURE_MAIN_NEOGEO_END)
endef

$(eval $(generic-package))
